<?php
/**
  * tframe
  *
  *
  * @copyright Copyright (c) 2012 - 2014, huxiaomin
  * @author huxiaomin    2012-5-16  
  * @since		Version 1.0
  *
  */


require_once('smarty/class.smarttemplate.php');
class TTpl{

    function __construct(){
    
    }
    
    /**
     * 
     * @param string $tpl_html 模板文件，相对tpl文件夹
     * @param array  $data 
     */
    static public function start($tpl_html,$data,$request){
    	$args = array(&$tpl_html,&$data,&$request);
    	TPlugin::start('Tpl',$args);
    	TCache::addFile(TTPL_DIR.$tpl_html);
    	TThrow::assert(!is_array($data) || !$data['data'], 'api的返回必须使用数组形式, 且必须使用有data key');
    	
		$tpl = new SmartTemplate($tpl_html);
		if ($data['data']){
		    $tpl->assign($data['data']);
		}
		
		$tpl->assign('TINPUT', $request);
		
		$tpl->output();
    }
    
    /**
     * 
     * @param string $tpl_html 模板文件，相对tpl文件夹
     * @param array  $data 
     */
    static public function startOb($tpl_html,$data,$request){
    	$args = array(&$tpl_html,&$data,&$request);
    	TPlugin::start('Tpl',$args);
    	ob_start();
        TCache::addFile(TTPL_DIR.$tpl_html);
        TThrow::assert(!is_array($data) || !$data['data'], 'api的返回必须使用数组形式, 且必须使用有data key');
        
        $tpl = new SmartTemplate($tpl_html);
        if ($data['data']){
            $tpl->assign($data['data']);
        }
        
        $tpl->assign('TINPUT', $request);
        
        $tpl->output();
        return ob_get_clean();
    }
    
    
    
}